package busquedas;

import java.util.List;

import asientos.Vuelo;

public class FiltroOpcionalEstadoDelAsiento extends DecoradorFiltroOpcional{
	private Boolean verAsientosReservados;


	/* *************************************************
	 * CONSTRUCTORS
	 **************************************************/
	
	public FiltroOpcionalEstadoDelAsiento(Boolean verAsientosReservados, FiltroOpcional unFiltroOpcional){
		this.setFiltroOpcional(unFiltroOpcional);
		this.setVerAsientosReservados(verAsientosReservados);
	}
	
	/* *************************************************
	 * ACCESSORS
	 **************************************************/
	
	public void setVerAsientosReservados(Boolean verAsientosReservados) {
		this.verAsientosReservados = verAsientosReservados;
	}

	public Boolean getVerAsientosReservados() {
		return verAsientosReservados;
	}


	/*****************************************************
	 * 
	 *****************************************************/	

	public void aplicarFiltroOpcional(List<Vuelo> asientos) {
		//List<Vuelo> asientosFiltrados = new ArrayList<Vuelo>(); 
		

		if (!this.verAsientosReservados) {
			super.aplicarFiltroOpcional(asientos);

		}else{
			this.getFiltroOpcional().aplicarFiltroOpcional(asientos);			
		}

	}

	@Override
	protected boolean aplicaElFiltro(Vuelo vuelo) {
		return(vuelo.estaLibre());
	}



}
